/* eslint-disable */
// @ts-ignore
import { request } from '@/utils/http/request';
import type { AxiosRequestConfig } from 'axios';
import type { RequestOptions as RequestOptionsType } from '/#/axios';
type RequestOptions = RequestOptionsType & AxiosRequestConfig;

import * as API from './types';

/**
 * 群众查图申请详情
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/${param0}
 * @param {object} params - 请求URL参数对象
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseQueryRecordVO>} 群众查图申请详情
 */
export async function submitShenqingId({
  params,
  options,
}: {
  // 叠加生成的Param类型 (非body参数openapi默认没有生成对象)
  params: API.submitShenqingidParams;
  options?: RequestOptions;
}) {
  const { id: param0, ...queryParams } = params;

  return request<API.CommonResponseQueryRecordVO>(`/api/dangan/liyong/shenqing/${param0}`, {
    method: 'POST',
    params: { ...queryParams },
    ...(options || {}),
  });
}

/**
 * 利用查询
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/all/page
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseTableDataInfo2QueryRecordVO>} 利用查询
 */
export async function queryAllPage({
  body,
  options,
}: {
  body: API.QueryRecordSearchDto;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseTableDataInfo2QueryRecordVO>(
    '/api/dangan/liyong/shenqing/all/page',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    },
  );
}

/**
 * 使用身份证查询房屋坐落-网签备案
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/fangwuzuoluo
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseWangQian>} 使用身份证查询房屋坐落-网签备案
 */
export async function submitShenqingFangwuzuoluo({
  body,
  options,
}: {
  body: API.RealestLocationRequest;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseWangQian>('/api/dangan/liyong/shenqing/fangwuzuoluo', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/**
 * 群众查图申请详情(查询码)
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/get_details_by_query_code
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseQueryRecordVO>} 群众查图申请详情(查询码)
 */
export async function queryShenqingGetDetailsByQueryCode({
  body,
  options,
}: {
  body: API.QueryRecordDetailsRequest;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseQueryRecordVO>(
    '/api/dangan/liyong/shenqing/get_details_by_query_code',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    },
  );
}

/**
 * 新增群众查图申请(现场)
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/on_site
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseString>} 新增群众查图申请(现场)
 */
export async function submitShenqingOnSite({
  body,
  options,
}: {
  body: API.QueryRecordOnSiteDto;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseString>('/api/dangan/liyong/shenqing/on_site', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/**
 * 利用登记(在线)
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/online/page
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseTableDataInfo2QueryRecordVO>} 利用登记(在线)
 */
export async function queryOnlinePage({
  body,
  options,
}: {
  body: API.QueryRecordSearchDto;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseTableDataInfo2QueryRecordVO>(
    '/api/dangan/liyong/shenqing/online/page',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    },
  );
}

/**
 * 利用登记(现场)
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/onsite/page
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseTableDataInfo2QueryRecordVO>} 利用登记(现场)
 */
export async function queryOnsitePage({
  body,
  options,
}: {
  body: API.QueryRecordSearchDto;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseTableDataInfo2QueryRecordVO>(
    '/api/dangan/liyong/shenqing/onsite/page',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    },
  );
}

/**
 * 使用身份证查询房屋坐落
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/realestlocation
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseListString>} 使用身份证查询房屋坐落
 */
export async function submitShenqingRealestlocation({
  body,
  options,
}: {
  body: API.RealestLocationRequest;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseListString>('/api/dangan/liyong/shenqing/realestlocation', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/**
 * 新增群众查图申请(微信端)
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/wx
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseString>} 新增群众查图申请(微信端)
 */
export async function submitShenqingWx({
  body,
  options,
}: {
  body: API.QueryRecordDto;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseString>('/api/dangan/liyong/shenqing/wx', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/**
 * 群众查图申请分页查询（微信端）
 *
 * @method POST
 * @url /api/dangan/liyong/shenqing/wx/page
 * @param {object} body - 请求体数据
 * @param {object} options - 请求配置选项
 * @returns {Promise<API.CommonResponseTableDataInfo2QueryRecordVO>} 群众查图申请分页查询（微信端）
 */
export async function queryWxPage({
  body,
  options,
}: {
  body: API.QueryRecordSearchDto;
  options?: RequestOptions;
}) {
  return request<API.CommonResponseTableDataInfo2QueryRecordVO>(
    '/api/dangan/liyong/shenqing/wx/page',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    },
  );
}
